/*
 * @Description: cms问卷解析-类型
 * @Author: xinqiao lxq1990.0716@qq.com
 * @Date: 2024-04-16
 * @LastEditors: xinqiao lxq1990.0716@qq.com
 * @LastEditTime: 2024-04-18
 */

import type { CmsResStatusEnum } from '../enum/enum'

/** cms问卷 */
export interface ICmsPaper {
  /** 问卷id */
  paperId: number
  /** 问卷名称 */
  paperName: string
  /** 问题列表 */
  questions: ICmsQuestion[]
}

/** cms问题 */
export interface ICmsQuestion {
  /** 问卷id */
  paperId: number
  /** 问题id */
  questionId: number
  /** 问题描述 */
  questionName: string
  /** 问题类型（1：单选，4：多选，5：填空，7：文件上传，8：列表选择） */
  questionType: number
  /** 是否必填 */
  required: boolean
  /** 问题选项配置信息 */
  options: ICmsOption[]
  /** 用户填写的答案 */
  answer: ICmsAnswer
  /** 用户是否填写答案 */
  isAnswer: boolean,
  count: number
  
}

/** cms问题选项 */
export interface ICmsOption {
  /** 所属问题id */
  questionId: number
  /** 选项id */
  optionId: number
  /** 选项描述 */
  optionText: string | ICmsPickerOption[]
  /** 跳题ID */
  targetId?: number
  /** 校验规则 */
  regexRule: string
  /** 校验描述 */
  regexMsg: string
}

/** cms列表选择选项 */
export interface ICmsPickerOption {
  /** 标签 */
  label: string
  /** 值 */
  value: number
}

/** cms用户填写的答案 */
export interface ICmsAnswer {
  /** 填空 */
  input: string
  /** 单选 */
  radio: number
  /** 多选 */
  checkbox: any[]
  /** 列表选择 */
  picker: number
  /** 文件上传 */
  file: string[]
  /** 文件相关数据 */
  fileData: any
  /** 跳题ID */
  targetId?: number
  /** 是否答题 */
  isAnswer?: boolean
}

/** cms问卷解析准备数据 */
export interface ICmsAnalysisPrepare {
  /** 发布问卷id */
  publishId: string
  /** 昵称 */
  nickname: string
  /** 用户id */
  userId: string
  /** 检测信息主键id */
  detectionInfoId: string
  /** 问卷类型 */
  detectionType: number
}

/** cms提交答卷-返回参数 */
export interface ICmsSubmitPaperRes<T> {
  /** 状态 */
  status: CmsResStatusEnum
  /** 数据 */
  data: T
  /** 消息 */
  message: string
}

/** cms问卷预览准备数据 */
export interface ICmsPreviewPrepare {
  /** 发布问卷id */
  publishId: string
  /** 问卷记录id */
  recordId: string
  /** 用户id */
  userId: string
}
